package com.hksj.slm.mapper;

import com.hksj.cbm.entity.DeviceInstance;
import com.hksj.slm.dto.CockpitStatisticAnalysisDTO;
import com.hksj.slm.dto.QueryLightingDurationDTO;
import com.hksj.slm.vo.LightingDurationVO;
import com.hksj.cbm.vo.RuleSceneVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author fjt
 * @data 2024/8/22 10:24
 * @describe 智能照明统计分析
 */
@Mapper
public interface StatisticAnalysisMapper {

    /**
     *
     * @param dto 设备位置路径和科室字典明细值
     * @param specialityModelCode   专业编码
     * @return
     */
    List<DeviceInstance> queryDevice(@Param("dto") CockpitStatisticAnalysisDTO dto,
                                     @Param("specialityModelCode")String specialityModelCode);


    /**
     * 查询这些设备每个回路的照明时长并按时长倒序排名(取前5)
     * @param dto
     * @return
     */
    List<LightingDurationVO> listTopFive(@Param("dto")CockpitStatisticAnalysisDTO dto);


    /**
     * 定时控制策略查询
     * @param specialityModelCode
     * @param ruleType
     * @return
     */
    List<RuleSceneVO> queryScheduledTasks(@Param("specialityModelCode")String specialityModelCode,
                                          @Param("ruleType")String ruleType);


    /**
     * 查询指定楼栋、楼层或科室、房间中每个回路在指定时间段内的照明时长明细
     * @param dto
     * @return
     */
    List<LightingDurationVO> queryLightingDurationDetail(@Param("dto") QueryLightingDurationDTO dto);


}
